#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
typedef long long ll;
vector<vector<ll>> a,b;
int s[1000010];
vector<int> v;
int main()
{
    int n,m;
    cin>>n>>m;
    a=b=vector<vector<ll>> (n + 10, vector<ll> (m + 10));
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=m;j++)
        {
            scanf("%lld",&a[i][j]);
            b[i][j]=a[i][j];
        }
    }
    int k;
    cin>>k;
    int op=0;
    for(int i=1;i<=k;i++)
    {
        scanf("%d",&op);
        if(op==1)
        {
            v.push_back(i);
        }
        else
        {
            int x,y,z;
            scanf("%d %d %d",&x,&y,&z);
            if(a[x][y]==b[x][y])
            {
                if(z!=a[x][y])
                {
                    b[x][y]=z;
                    s[max(0,i-y+1)]++;
                }

            }
            else
            {
                if(z==a[x][y])
                {
                    s[max(0,i-y+2)]--;
                    b[x][y]=z;
                }
            }
        }
    }
    for(int i=0;i<=k;i++)
    {
        s[i]+=s[i-1];
    }
    int ans=0;
    for(int it=0;it<v.size();it++) 
    {
        ans=max(ans,n*m-s[v[it]]);
    }
    cout<<ans;

}
